Release 10.1A: OpenEdge Getting Started:
Installation and Configuration


Calculating memory needs

The tables in this section are provided to help you calculate the memory requirements for your system. Table 6–3 lists the components you use to calculate system memory requirements. Table 6–4 lists the startup options that affect memory requirements.

Table 6–5 and Table 6–6 list approximate values for each calculation component for single and multiple users running OpenEdge. Use the formulas provided in Table 6–7 to calculate the memory requirements for your system without disk swapping.

Note: All memory usage figures are approximate and vary depending on the version of the operating system, UNIX parameters, the OpenEdge startup parameters, and the OpenEdge application you are using. For more information, see OpenEdge Deployment: Startup Command and Parameter Reference .

The background processes APW, BIW, AIW, and PROWDOG also take up memory. Remember to calculate these in your memory requirements.

Table 6–3: Components used to calculate memory needs
Component
Symbol
Comment
Operating system.
os*
Represents the memory requirements for one copy of your operating system shared in memory by all users, plus a certain percentage of physical memory to allow for operating system buffers; typically, 10%–15%.
OpenEdge.
_progres*
Represents the size of one copy of OpenEdge shared in memory by all users running single-user or multi-user OpenEdge. Allow for 15%–20% deviation in the _progres value to accommodate new releases.
Database server
or broker.
_mprosrv*
Represents the size of one copy of the OpenEdge database broker/server shared in memory by all users running multi-user OpenEdge. Use this component only when calculating memory requirements for a system running a multi-user version of an OpenEdge product.
OpenEdge
user data.
proud
Represents the data area required for each user running OpenEdge. This value varies greatly, depending on the application you run and whether you use the OpenEdge Compiler. It is also affected by many of the startup parameters. For single-user clients, the parameters are: Blocks in Database Buffers (-B), Directory Size (-D), and Stack Size (-s). For multi-user clients, the parameters are: -D, Maximum Memory (-mmax), and -s.1 2
OpenEdge
server data.
psd
Represents the data area required for each database server serving remote clients. (Not used for single-user or multi-user clients if the users are self-service). This space is used for communication buffers and other server memory requirements.
OpenEdge
broker data.
pbd
Represents the data area required by each database broker. (One database broker is required for each different database simultaneously in use in multi-user mode whether you are using remote client/servers, self-service, or both.) This value is determined by the values of startup parameters that consume memory, including: Database Buffers (-B), Lock-table Entries (-L), and Number of Users (-n).2

Note: Each increment of -n increases pbd by 2K.

1Use the UNIX size command to determine the exact size. See Table 6–4 to determine the approximate value.
2See OpenEdge Deployment: Startup Command and Parameter Reference for information about OpenEdge startup parameters.

Table 6–4: Size increments for increasing startup parameters by 1 
Startup
Size increment
Affects
Blocks in database buffers (-B).
db block size (.5K, 1K, 2K, 4K, 8K)
multi-user: pbd;
single-user: proud
Directory size (-D).
100 bytes
proud
Lock-table entries (-L).
16 bytes
pbd
Shared-memory size (-Mxs).
1K
pbd
Number of users (-n).
2K
pbd
Stack size (-s).
1K
proud

Table 6–5: Single-user memory requirements 
Component symbol
Memory
_progres 
3.5MB–4MB1
proud 
1MB–2MB2
Kernel 
3MB–5MB3
1This is an approximate value. Use the size command to determine the exact size. If you are using a non-OpenEdge database, your value will be larger.
2The actual value depends on your application and how you set the startup parameters listed in Table 6–4.
3Use the UNIX size Command to determine the exact size of your kernel. Add to that 10% of physical memory on the machine, as an allowance for operating system buffers, to get the total operating system requirements.

Table 6–6: Multi-user memory requirements 
Component symbol
Memory
_progres 
3.5MB–4MB1
_mprosrv 
.5MB–.55MB1
proud 
1MB–3MB2
Kernel 
.3MB–.5MB1
psd 
.5MB–.55MB2
pbd 
psd + -B, etc.3
1This is an approximate value. Use the size command to determine the exact size. If you are using a non-OpenEdge database, your value will be larger.
2The actual value depends on your application and how you set the startup parameters listed in Table 6–4.
3Use the UNIX size command to determine the exact size of your kernel. Add to that 10% of physical memory on the machine, as an allowance for operating system buffers, to get the total operating system requirements.

Table 6–7: Formulas for calculating memory requirements 
Single-user systems
Multi-user systems
os + _progres +
(number of users x proud)
os + _progres + _mprosrv
+ (number of databases x pbd)
+ (number of remote client servers x psd)
+ (number of users x proud)

Note: Remote client/server processes share the same code as the broker and, therefore, require no additional _mprosrv (database server or broker) memory. Each remote client/server process does require an OpenEdge server data (psd) area.


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095